package com.aipartner.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;

/**
 * Chat Request DTO
 * 
 * @author AI Partner Team
 * @since 2024-01-20
 */
@Data
@ApiModel(description = "AI Chat Request")
public class ChatRequest {
    
    @ApiModelProperty(value = "User ID", example = "1234567890")
    private Long userId;
    
    @ApiModelProperty(value = "User message content", required = true, example = "Hello, how are you?")
    @NotBlank(message = "Message content cannot be empty")
    private String message;
    
    @ApiModelProperty(value = "AI model type", example = "gpt-4")
    private String modelType;
    
    @ApiModelProperty(value = "Conversation ID", example = "conv_123456")
    private String conversationId;
    
    @ApiModelProperty(value = "Chat type", example = "general")
    private String chatType;
}